Enhanced game controller

ABSTRACT

Enhancing a game controller including: a plurality of sensor modules; a support structure attached to the plurality of sensor modules, structural constraints of the support structure are combined with data from the plurality of sensor modules to map a user&#39;s gestures.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority of co-pending U.S. Provisional Patent Application No. 60/978,301, filed Oct. 8, 2007, entitled “Enhanced Game Controller.” The disclosure of the above-referenced provisional application is incorporated herein by reference.

BACKGROUND

1. Field of the Invention

The present invention relates to human-computer interfacing, and more specifically to processing multi-channel controller input.

2. Background

Computer entertainment game systems and gaming technology have advanced over the years from the simple games such as Pong® and Tetris® to very complex shooter and sports games that have high speed, high resolution graphics and can be played in a multi-player environment. Along with the increase in game sophistication, game controllers or human input devices have also advanced. Typically a game controller will include joy sticks or buttons on the controller that a user will manipulate to control characters or actions within the game.

More recently controllers have been developed that include motion sensors that can detect the user's movement of the game controller that can also be used as an input to the game action. While game controller technology has evolved it still limits a users input to the game. For example, some movements of the game controller by the user may be so small or subtle that it is difficult for the game controller to detect. Therefore there is a need to improve the responsiveness of game controllers.

SUMMARY

In one aspect, an enhanced game controller is disclosed. The enhanced game controller includes: a plurality of sensor modules; a support structure attached to the plurality of sensor modules, structural constraints of the support structure are combined with data from the plurality of sensor modules to map a user's gestures.

In another aspect, a method of mapping gestures of a user is disclosed. The method includes: receiving information about structural constraints of a support structure; receiving data from sensors attached to the support structure; and combining the data from the sensors with the information about structural constraints of a support structure to map the gestures of a user.

In another aspect, a computer-implemented method of dynamically adjusting game parameters based on performance levels of players in a multi-player game environment is disclosed. The method includes: receiving profiles of players in the multi-player game environment; adjusting game options of the players based upon the respective profiles of the players; monitoring relative performance of the players; determining if the relative performance of the players is within a desired range of performance; and adjusting game parameters of the players if the relative performance of the players is outside the desired range.

Other features and advantages of the present invention will become more readily apparent to those of ordinary skill in the art after reviewing the following detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a system that operates in accordance with an embodiment of the present invention.

FIG. 2 is a block diagram illustrating an embodiment of an enhanced game controller.

FIG. 3 is a block diagram of another embodiment of an enhanced game controller.

FIG. 4 is a block diagram of yet another embodiment of an enhanced game controller.

FIG. 5 is a block diagram of another embodiment of an enhanced game controller.

FIG. 6 is a block diagram of still another embodiment of an enhanced game controller.

FIG. 7 is a block diagram of yet another example of an enhanced game controller.

FIG. 8 is a block diagram of an embodiment of a three-sensor module enhanced game controller.

FIG. 9 is a block diagram of another embodiment of a three-sensor module enhanced game controller.

FIG. 10 is a block diagram of another embodiment of an enhanced game controller.

FIG. 11 is a flow chart illustrating a technique for processing signals from a enhanced game controller.

FIG. 12 is a block diagram of a gaming system that may be used to implement various embodiments described herein.

DETAILED DESCRIPTION

After reading the following description it would become apparent to one skilled in the art how to implement the invention in various alternative embodiments and alternative applications. However, although various embodiments of the present invention will be described herein, it is to be understood that these embodiments are presented by way of example only, and not limitations. As such, this detailed description of various embodiments should not be construed to limit the scope or breadth of the present invention.

Various embodiments of the methods, apparatus, techniques, programs, and systems described herein provide for enhanced game controllers. Methods, apparatus, techniques, programs and systems described herein provide for the enhancement of game controllers to better detect and improve a user's input to the game. In one embodiment, the enhanced game controller can include six axis motion sensing modules. For example, a sensor module such as a game controller can include accelerometers to detect motion in the x, y, and z planes. The sensor module can also include gyro detecting circuitry that can detect rotation about the three axes in pitch yaw and roll. The enhanced game controller or a game console can covert raw sensor data into gesture data input to the game. In this way the user can interact with the game by making gestures with the game controller.

FIG. 1 is a block diagram illustrating a system that operates in accordance with an embodiment of the present invention. As illustrated in FIG. 1, a computer, or game, entertainment console 102 may be coupled to a video display 104 such as a television or other type of visual display. A game or other simulations may be stored on a storage media 106 such as a DVD, a CD, flash memory, USB memory or other type of memory media. The storage media 106 can be inserted to the console 102 where it is read. The console can then read program instructions stored on the storage media and present a game interface to the user.

As illustrated in FIG. 1, a user or player manipulates multiple sensor modules or game controllers 110 a and 10 b to control and interact with the video game or other simulation. The game controllers 110 a and 10 b may include conventional controls, for example, control input devices such as joysticks, buttons and the like. In addition, the game controllers 110 a and 10 b can include an internal sensor, for example an accelerometer, that produces signals in response to the position motion orientation or change in orientation of the game controller 110.

During operation of the console 102 when the user is playing a game, the user can use the game controllers 110 a and 10 b to interact with the game. As described further below, the game controllers 10 a and 10 b may be attached to a framework 108 to derive extra degrees of freedom in an enhanced game controller or peripheral. Although the example illustrated in FIG. 1 shows two controllers 10 a and 10 b there can be any desired number of controllers attached to a framework

FIG. 2 is a block diagram illustrating an embodiment of an enhanced game controller 200. As shown in FIG. 2 the enhanced game controller 200 includes two sensor modules 202 and 204 that are connected to a supporting structure 206. In the embodiment of FIG. 2, the sensors 202 and 204 are conventional game controllers for example six axis game controllers, such as Sony PlayStation® game controllers. In the example shown in FIG. 2, the supporting structure 206 is a rigid body framework and can be used to drive extra degrees of freedom in a game peripheral device. For example, two six axis game controllers 202 and 204 can be mounted on the supporting structure 206 which is a rod that intersects the controllers parallel to the top plate of the controllers 202 and 204. In this example a new genre of gaming becomes possible, including things like “Marching Band Baton Competition” and “Virtual Boxing.”

In the marching band baton competition example, the player could leverage a pair of game controllers 202 and 204 rigidly connected to the support structure 206, such as a holding harness or stick where each game controller 202 and 204 are attached to opposite ends of the stick (with one controller 202 sitting in parallel with the support structure 206 which is also parallel to the second controller 204 in a lengthwise manner). In the marching band example, game play could consist of a series of competition events where the player acting as a band leader might raise, lower, twirl, or swing the device in response to music and an on-screen character.

In another embodiment, the enhanced game controller 200 can also be fitted with a ring 208. When configured with a ring 208, a player could use the enhanced game controller 110 to simulate a steering wheel or other type of control in the game.

FIG. 3 is a block diagram of another embodiment of an enhanced game controller 300. As shown in FIG. 3, two game controllers 202 and 204 are mounted to a support structure 306. In the embodiment of FIG. 3, the support structure 306 connects to the two game controllers 202 and 204 normal to the base plate of the sensors. In this embodiment a user can grasp the support structure 306 between the two game controllers 202 and 204 and their gestures used as input to a game. For example, a user can grasp the support structure 306 and use this device in a punching motion such as in a boxing game so that the rotations and jabs from the user can be felt in a more natural way.

In the examples of FIGS. 2 and 3, as well as the other examples that follow, output from the sensor modules can be integrated and used in conjunction with one another to allow the player to control and have enhanced input to a game. In addition the support structure allows a player to hold the enhanced game controller with a single hand, whereas it is common for game controllers to require the user to hold them with two hands. For example, integrating multiple sensor modules, such as six axis game controllers, can be used in conjunction with one another to allow the player to control a game character, such as a virtual boxing character. In this way the players' actions may be more natural than with a single controller held in both hands.

FIG. 4 is a block diagram of yet another embodiment of an enhanced game controller 400. In the example of FIG. 4, the two game controllers, 202 and 204 are attached with the support structure 406. In this embodiment the axis of sensitivity of the two sensor modules 202 and 204 are rotated relative to one another. As show in FIG. 4, one game controller 202 has its top plate rotated by 90-degree from the orientation of the top plate of the other game controller 204. Alternatively, the relative axis of orientation of the game controllers 202 and 204 can be in any relationship to each other. For example, one of the game controllers can have its top plate normal to the support structure and the other game controller can have its top plate parallel to the support structure.

FIG. 5 is a block diagram of another embodiment of an enhanced game controller 500. As show in FIG. 5, two multi-axis sensor modules 502 and 504 are connected by a supporting structure 506. In one embodiment, the sensor modules 504 and 506 are 6-axis sensors. In another embodiment, the sensor modules 502 and 504 can be different number of axis of sensitivity. For example, sensor module 502 can be a single-axis sensor while sensor module 504 is a multi-axis sensor, such as a 6-axis sensor. In addition, the orientation of sensor modules 502 and 504 can be in any relationship relative to one another.

FIG. 6 is a block diagram of still another embodiment of an enhanced game controller 600. As shown in FIG. 6, two multi-axis sensor modules 602 and 604 are connected by a supporting structure 606. In the example of FIG. 6, the supporting structure 606 is flexible, being able to be deformed. Using two multi-axis sensor modules 602 and 604, the amount of deformation 610 of the support structure 606 can be detected. In this way a user's gestures can be better mimicked in the game played by the user.

FIG. 7 is a block diagram of yet another embodiment of an enhanced game controller 700. In the embodiment of FIG. 7, a single sensor module 702 can be rigidly mounted or held to a supporting surface 704. A flexible structure 706 is attached to the sensor 702. The flexible structure 706 can be moved by the user and released. If the user moves, or bends, and releases the flexible structure 706, there can be a resonance associated with the structure 706 that can be detected by the sensor module 702 and converted into game inputs, movements or actions.

Although the preceding embodiments described have generally been directed to two sensor modules or game controllers, it is also possible that a structure can be coupled to any desired number of sensor modules. The structure connecting the multiple controllers can be used to mimic player's actions. In addition, the structure attaching the multiple controllers can be manipulated by the user and the manipulation can cause movements and vibrations that are sensed by the controllers and converted into game inputs, events or actions.

FIG. 8 is a block diagram of an embodiment of a three-sensor module enhanced game controller 800. As shown in the example of FIG. 8, three sensor modules 802, 804 and 806 are attached by structural members 810, 812 and 814. The structural members 810, 812 and 814 can be rigid, or can be flexible and be capable of being deflected by the user. In addition, structural members 810, 812 and 814 can have a resonance associated with them that can be detected and used as a game input. Also, the structural members 810, 812 and 814 can be a combination of rigid, flexible and resonant structures in combination.

FIG. 9 is a block diagram of another embodiment of a three-sensor module enhanced game controller 900. In the embodiment of FIG. 9 three sensor modules 902, 904 and 906 are connected by structural members 910, 912 and 914. As discussed in FIG. 8, structural members 910, 912 and 914 can be rigid, flexible, resonant, or any combination of the same. In the example of FIG. 9 the orientation of the three sensor modules 902, 904 and 906 have been rotated relative to one another. Any combination of rotation of the sensors relative to one another is envisioned.

Using a multi-sensor module controller allows a user's input to map to gestures in the game. For example, a distance between two sensors can be used in a digital signal processor (DSP) along with how the sensor modules move, to improve mapping a user's gesture and to convert that gesture into an input for a game movement. Using multiple sensors in an enhanced game controller provides many advantages. For example, using DSP techniques, the input from the multiple sensors can be combined subtractively, additively, by averaging, or other combination to enhance the signal level as well as better detect the user's gestures. In other words, multiple sensors provide multiple forms of data from the user's gesture, and these multiple forms of data can be combined so as to produce a better signal to mimic the user's gestures.

Use of multiple sensors along with the knowledge of the structural coupling between the sensors can improve gesture mapping of a user's motion. For example, two sensor modules can be coupled using a support structure such that the two sensor modules are at a known off-set distance from one another, and the movement of the sensor modules relative to each other is bound by the constraints of the coupling of the support structure. The input signals from the two sensors and the known constraints of the support structure, for example, a rigid support structure or flexible support structure or resonant support structure, can be used to better detect signals from the sensors and map user's gestures.

FIG. 10 is a block diagram of another embodiment of an enhanced game controller 1000. As shown in FIG. 10, a sensor 1002 can be attached to a user, for example, to a user's hand 1004 by an attachment mechanism such as a strap 1006. In the embodiment shown in FIG. 10, the user's hand motions and gestures can be detected and input to a game as game movements or gestures. For example, if the sensor 1002 is a 6-axis sensor and is strapped to a user's hand, then in a game such as a boxing game, the motion as well as the rotation of the user's hand can be detected and input into the game to better mimic the user's actual motion.

In other embodiments of FIG. 10, sensors can be mounted on other locations of a user's body. For example, sensors can be mounted on a user's arms, feet, knees, etc, to better detect user's gestures and motion and use the sensor data as input to a game to better mimic the user's motion in the game.

In the embodiments described above, the sensor modules or controllers can be wired or wireless. In one embodiment, the sensors are wireless and thereby, communicate to the game console without the need of a physical wire connection. Eliminating a physical connection can be beneficial so that the sensors can be moved about without the restriction or encumbrance of having wires attached to the sensors. For example, the input from these sensors can be communicated by radio frequencies using techniques such as Bluetooth, ZigBee, or 802.11x, and the like, or they could use optical techniques and infrared techniques

FIG. 11 is a flow chart illustrating a technique for processing signals from an enhanced controller. Flow begins in block 1102 where information is received about constraints of a structure that supports sensor modules. Flow continues to block 1104 where data from the sensor modules is received. Flow continues to block 1106 where the sensor data is combined with information about the constraints of the support structure to map a user's gestures. For example, the sensor data and constraints can be combined by a DSP, or other computing device, to map the user's gestures.

FIG. 12 is a block diagram of a gaming system 1200 that may be used to implement various embodiments described herein. As shown in FIG. 12, the gaming system 1200 may include a processor module 1201 and a memory module 1202. In one embodiment, memory module 1202 may be RAM, DRAM, ROM and the like. In addition, the gaming system 1200 may have multiple processor modules 1201 if parallel processing is to be implemented. The processor module 1201 can include a central processing unit 1203. In addition, the processor module 1201 can include local storage or a cache 1205 to store executable programs. The memory module 1202 can include game program storage 1204. In addition, the memory module 1202 can include signal data storage 1206, for example, signal data acquired from game controller operated by a user. The memory module 1202 can also include player data 1208 such as player profile data as well as game statistics that may be provided. The system 1200 may also include well-known support function module 1210 such as input/output elements 1211, power supplies 1212, a clock 1213, and cache memory 1214. The input/output elements 1211 may be controlled by a controller 1230. The system 1200 may also optionally include mass storage module 1215 such as a disc drive, CD ROM drive, DVD drive, tape drive or the like to store programs and/or data. The system 1200 may also optionally include a display module 1216 as well as a user interface module 1218 to facilitate interaction between the system 1200 and the user. Display module 1216 may be in the form of a cathode ray tube, a flat panel screen or any other display module. The user interface module 1218 may include a keyboard, mouse, joystick, write pen or other device such as a microphone, video camera or other user input device. The processor, memory, and other components within the system 1200 may exchange signals such as code instructions and data with each other via a system bus 1220.

In one embodiment, the gaming system 1200 is implemented as a computer-implemented program stored in the local storage or a cache 1205 of the processor module 1201. The program may include a computer-implemented method of dynamically adjusting game parameters based on performance levels of players in a multi-player game environment. The method includes: receiving profiles of players in the multi-player game environment; adjusting game options of the players based upon the respective profiles of the players; monitoring relative performance of the players; determining if the relative performance of the players is within a desired range of performance; and adjusting game parameters of the players if the relative performance of the players is outside the desired range. In one implementation, adjusting game parameters comprises limiting game options available to at least one of the players. In another implementation, adjusting game parameters includes enhancing game options available to at least one of the players. In another implementation, monitoring the relative performance of the players includes detecting the players' reaction to audio stimuli. In yet another implementation, monitoring the relative performance of the players includes detecting the players' reaction to visual stimuli.

Various embodiments described may be implemented primarily in hardware, or software, or a combination of hardware and software. For example, a hardware implementation may include using, for example, components such as application specific integrated circuits (“ASICs”), or field programmable gate arrays (“FPGAs”). Implementation of a hardware state machine capable of performing the functions described herein will also be apparent to those skilled in the relevant art.

The term “module” as used herein means, but is not limited to a software or hardware component, such as an FPGA or an ASIC, which performs certain tasks. A module may advantageously be configured to reside on an addressable storage medium and configured to execute on one or more network enabled devices or processors. Thus, a module may include, by way of example, components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, variables, and the like. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules. Additionally, the components and modules may advantageously be implemented to execute on one or more network enabled devices or computers.

Furthermore, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and method steps described in connection with the above described figures and the embodiments disclosed herein can often be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module, block, circuit or step is for ease of description. Specific functions or steps can be moved from one module, block or circuit to another without departing from the invention.

Moreover, the various illustrative logical blocks, modules, and methods described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (“DSP”), an ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

Additionally, the steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium including a network storage medium. An exemplary storage medium can be coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can also reside in an ASIC.

While the above is a complete description of the preferred embodiment of the present invention, it is possible to use various alternatives, modifications and equivalents. Therefore, the scope of the present invention should be determined not with reference to the above description but should, instead, be determined with reference to the appended claims, along with their full scope of equivalents. Any feature described herein, whether preferred or not, may be combined with any other feature described herein, whether preferred or not. Thus, the invention is not intended to be limited to the embodiment shown herein but is to be accorded the widest scope consistent with the principal and novel features disclosed herein. 

1. An enhanced game controller comprising: a plurality of sensor modules; a support structure attached to the plurality of sensor modules, structural constraints of the support structure are combined with data from the plurality of sensor modules to map a user's gestures.
 2. The controller of claim 1, wherein the plurality of sensor modules comprise six axis sensors.
 3. The controller of claim 1, wherein the plurality of sensor modules comprise game controllers.
 4. The controller of claim 1, wherein the support structure is rigid.
 5. The controller of claim 1, wherein the support structure is flexible.
 6. The controller of claim 1, wherein the support structure comprises a resonant structure.
 7. A method of mapping gestures of a user, the method comprising: receiving information about structural constraints of a support structure; receiving data from sensors attached to the support structure; and combining the data from the sensors with the information about structural constraints of a support structure to map the gestures of a user.
 8. The method of claim 7, wherein the map of the user's gestures is used as an input to a game system.
 9. The method of claim 7, wherein receiving data from sensors comprises receiving data from game controllers.
 10. The method of claim 7, wherein receiving information about structural constraints of a support structure comprises receiving information about flexibility of the support structure.
 11. A computer-implemented method of dynamically adjusting game parameters based on performance levels of players in a multi-player game environment, the method comprising: receiving profiles of players in the multi-player game environment; adjusting game options of the players based upon the respective profiles of the players; monitoring relative performance of the players; determining if the relative performance of the players is within a desired range of performance; and adjusting game parameters of the players if the relative performance of the players is outside the desired range.
 12. The method of claim 11, wherein adjusting game parameters comprises limiting game options available to at least one of the players.
 13. The method of claim 11, wherein adjusting game parameters comprises enhancing game options available to at least one of the players.
 14. The method of claim 11, wherein monitoring the relative performance of the players comprises detecting the players' reaction to audio stimuli.
 15. The method of claim 11, wherein monitoring the relative performance of the players comprises detecting the players' reaction to visual stimuli. 